package com.example.spark.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.spark.entity.Direction;
import com.example.spark.entity.User;
import com.example.spark.entity.result.CommonResult;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;


public interface UserService extends IService<User> {
    /**
     * 查询所有用户加模糊查询加分页
     *
     * @param currentPage 当前页码
     * @param pageSize    条数
     * @return CommonResult
     */
    IPage<User> getAllByPage(Integer currentPage, Integer pageSize, User user);

    /**
     * 通过id删除用户
     *
     * @param id 用户id
     * @return CommonResult
     */
    CommonResult deleteById(Long id);

    /**
     * 添加用户
     *
     * @param user
     * @return
     */
    CommonResult add(User user);

    /**
     * 更新用户信息
     *
     * @param user 用户
     * @return CommonResult<User>
     */
    CommonResult<User> update(User user);

    /**
     * 查询学习方向
     *
     * @param id 学习方向id
     * @return Direction
     */
    Direction checkDirec(Long id);
    /**
     * 添加/修改用户图片
     *
     * @param file 图片文件
     * @param id 用户id
     * @return CommonResult
     * @throws IOException
     */
    CommonResult addPicture(MultipartFile file,Long id) throws IOException;


}
